/**
 * 基础字段
 */
export interface BaseModel {
  id: string
  createBy?: string
  createTime?: string
  lastUpdateBy?: string
  lastUpdateTime?: string
  delFlag?: string
  fkUpdateUserId?: string
  fkCreateUserId?: string
}

/**
 * 基础分页字段
 */
export type BasePage = {
  pageNum?: number
  pageSize?: number
  [key: string]: any
}

/**
 * 分页数据
 */
export interface PageModel<T extends BaseModel = any> {
  // 最后一页
  endRow: number
  // 是否有下一页
  hasNextPage: boolean
  // 是否有前一页
  hasPreviousPage: boolean
  // 是否是第一页
  isFirstPage: boolean
  // 是否是最后一页
  isLastPage: boolean
  // 数据
  list: Array<T>
  navigateFirstPage: number
  navigateLastPage: number
  navigatePages: number
  navigatepageNums: Array<any>
  nextPage: number
  pageNum: number
  pageSize: number
  pages: number
  prePage: number
  size: number
  startRow: number
  total: number
}
